package com.mango.game.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 游戏信息（源包）
 * </p>
 *
 * @author Mango
 * @since 2025-02-24
 */
@TableName("game_info")
public class GameInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 游戏唯一标识
     */
    @TableId("uid")
    private Long uid;

    /**
     * 创建时间
     */
    @TableField("created_at")
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    @TableField("updated_at")
    private LocalDateTime updatedAt;

    /**
     * 所属命名空间ID
     */
    @TableField("name_space")
    private Long nameSpace;

    /**
     * 游戏名称（不同命名空间下可以重复）
     */
    @TableField("name")
    private String name;

    /**
     * 描述标签
     */
    @TableField("label")
    private String label;

    /**
     * 游戏作者（游戏开发公司）
     */
    @TableField("author")
    private String author;

    /**
     * 参数签名密钥
     */
    @TableField("sign_key")
    private String signKey;

    /**
     * 派单通知地址（游戏提供商要按要求提供符合标准的URL）
     */
    @TableField("call_url")
    private String callUrl;

    /**
     * 收益分成的占比
     */
    @TableField("income")
    private BigDecimal income;

    /**
     * 状态：0-停用 1-启用
     */
    @TableField("status")
    private Byte status;

    public Long getUid() {
        return uid;
    }

    public void setUid(Long uid) {
        this.uid = uid;
    }

    public LocalDateTime getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }

    public LocalDateTime getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(LocalDateTime updatedAt) {
        this.updatedAt = updatedAt;
    }

    public Long getNameSpace() {
        return nameSpace;
    }

    public void setNameSpace(Long nameSpace) {
        this.nameSpace = nameSpace;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getLabel() {
        return label;
    }

    public void setLabel(String label) {
        this.label = label;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public String getSignKey() {
        return signKey;
    }

    public void setSignKey(String signKey) {
        this.signKey = signKey;
    }

    public String getCallUrl() {
        return callUrl;
    }

    public void setCallUrl(String callUrl) {
        this.callUrl = callUrl;
    }

    public BigDecimal getIncome() {
        return income;
    }

    public void setIncome(BigDecimal income) {
        this.income = income;
    }

    public Byte getStatus() {
        return status;
    }

    public void setStatus(Byte status) {
        this.status = status;
    }

    @Override
    public String toString() {
        return "GameInfo{" +
        "uid = " + uid +
        ", createdAt = " + createdAt +
        ", updatedAt = " + updatedAt +
        ", nameSpace = " + nameSpace +
        ", name = " + name +
        ", label = " + label +
        ", author = " + author +
        ", signKey = " + signKey +
        ", callUrl = " + callUrl +
        ", income = " + income +
        ", status = " + status +
        "}";
    }
}
